package com.guaoran.interview.in2018.jvm;

import java.util.ArrayList;
import java.util.List;

/**
 * @author : guaoran
 * @Description : <br/>
 * 堆溢出实例
 * VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
 * OutofMemoryError代表的是，当再申请新的内存时，虚拟机分配给线程的内存大小中无法再分配新的内存，就会出现此error
 * @date :2018/12/20 22:20
 */
public class OutOfMemoryErrorDemo {
    /**
     * 堆溢出实例
     * VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
     */
    public static void getOutOfMemoryError(){
        List<byte[]> list = new ArrayList<>();
        int i=0;
        while(true){
            list.add(new byte[500*1024*1024]);
            System.out.println("分配次数："+(++i));
        }
    }

    public static void main(String[] args) {
        getOutOfMemoryError();

    }
}
